/**
 * 公共控制器
 */
layui.use(['common', 'login', 'user', 'auth'], function(){
	// 获取 common 模块
	var common 	= layui.common
		,login 	= layui.login
		,user 	= layui.user
		,auth	= layui.auth;
		
	// 加载语言包
	if('undefined' == typeof LANG) common.loadLang();
	
	// 登录检测
	var auth_info = login.check_login();
	if(!auth_info){
		// 登录认证
		common.redirect('Login/login');
		return ;
	}
	
	// 登录数据保存本地
	var loginInfo = common.data.set('loginInfo', {
		name: auth_info
	});
	
	// 头部
	if(common.tplExists('header_tpl')){
		common.template('header_tpl', {
			system_index: common.get_tpl_url(CONFIG.URL_MAP.INDEX.INDEX) 	// 系统首页
			,admin_name: loginInfo.name		    // 管理员名称
			,langs_list: common.getLangList()			// 语言列表
		}, 'navbar-container');
	}
	
	// 左侧
	if(common.tplExists('system-menu_tpl')){
		var menu = auth.getAuthMenu();
		common.template('system-menu_tpl', {
			index_url: CONFIG.URL_MAP.INDEX.HOME,		// 控制台首页地址
			list: menu
		}, 'system-menu');
	}
	
	// 中心内容
	var self_router = common.data.get('router.self_router');
	if(!common.isset(self_router)){
		// 获取首页数据
		common.request({
			url: CONFIG.URL_MAP.INDEX.HOME,
			tpl: common.doc.find("#tpl_content"),
			render : common.doc.find("#main_content")
		});
	}
	
	// 事件绑定
	common.bindEvents([
		// 注销登录
		{event_selector:'id', event_name: 'event-logout', event_type: 'click', event_func: user.logout},
		// 语言切换
		{event_selector:'class', event_name: 'event-lang-swap', event_type: 'click', event_func: common.langSwap},
		// 菜单初始化
		{event_selector:'class', event_name: 'event-menu-init', event_type: 'click', event_func: common.meunInit},
		// 路由追踪
		{event_selector:'class', event_name: 'event-router-track', event_type: 'click', event_func: common.router.track},
		// 请求事件
		{event_selector:'class', event_name: 'event-request', event_type: 'click', event_func: common.request}
	]);
	
	// 页面刷新定位当前路由
	common.router.initTrack();
	
});
